<?php

namespace App\Http\Controllers\Home;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;
use DB;
use Hash;
class SafetyController extends Controller
{
    /**
     *  安全问题入口
     *  
     * @return safety模版
     */
    public function getIndex()
    {
        // 通过session获取用户id
        $id = session('home_userid');
        // 查询数据库中是否有此用户的安全问题
        $safety = DB::table('tbl_safety')->where('uid',2)->first();
        // 返回页面
        return view('/home/user/safety');
    }

    /**
     * 处理提交的安全问题
     * 
     * 如果用户设置过安全问题则更新问题
     * 如果用户没有设置过安全问题则想数据插入问题
     */

    public function postInsert(Request $request){
        // 取出token值
        $req = $request ->except('_token');
        // 通过session获取用户id
        $id = session('home_userid');
        // 查询数据库中是否有此用户的安全问题
        $safety = DB::table('tbl_safety')->where('uid',$id)->first();
        if($safety>0){
            // 如果用户设置过安全问题进此区间
            DB::table('tbl_safety')->where('uid',$id)->update($req);
            // 反回页面
            return redirect('/home/safety')->with('success','安全问题设置成功');
        }else{
            // 用户没有设置过安全问题进此区间
            $req['uid'] = $id;
            $req['state'] = '完成';
            DB::table('tbl_safety')->insert($req);
            // 反回页面
            return redirect('/home/safety')->with('success','安全问题设置成功');
        }
    
    }

    /**
     *  修改密码
     *  
     *   判断用户输入的原密码和数据库的密码是否相同 
     *   相同则可以修改密码
     */

    public function postUpdate(Request $request){
        // 取出token值
        $req = $request ->except('_token');
        // 从session获取用户id
        $id = session('home_userid');
        // 更具用户id查询用户信息
        $info = DB::table('tbl_home_user')->where('id',$id)->first();
        // 判断用户提交原密码是否与数据库的值相等
        if(Hash::check($req['old-password'], $info['password'])){
            // 用户密码验证通过 哈希加密
            $req['newpassword'] = Hash::make($request -> input('newpassword'));
            // 把加密的数据修改到数据库 成功跳转登录界面  失败跳转回原网页
            if(DB::table('tbl_home_user') -> where('id',$id) -> update(['password'=>$req['newpassword']])){
                return view('/home/home/activatesuccess');
            }
        }else{
            return back()->with('error','修改失败');
        }
    }
    


}
